export type Code = 200 | 403 | 401 | 500;
export const codeDefaultMsg = {
    200: '操作成功',
    403: '传参错误',
    401: 'TOKEN无效',
    500: '未知错误'
};
export interface ResultInterface {
    data?: any,
    status: Code,
    msg: string;
}
export class returnResult {
    public static success(data: any, msg: string = codeDefaultMsg[200], status: Code = 200): ResultInterface {
        return { data, msg, status };
    }
    public static error(msg: string = codeDefaultMsg[403], status: Code = 403): ResultInterface {
        return { msg, status };
    }
}
// /**
//  * 成功
//  */
// export class SuccessResult implements ResultInterface {
//     data: any
//     msg: string
//     status: number
//     constructor(data?: any, msg?: string, status?: number) {
//         this.data = data || 0
//         this.msg = msg || '操作成功'
//         this.status = status || 200
//     }
//     /**
//      * 返回数据
//      * @param ctx 
//      */
//     send(ctx: Context) {
//         ctx.status = this.status
//         ctx.body = { data: this.data, msg: this.msg, status: this.status }
//     }
// }
// /**
//  * 失败
//  *  @param status 默认400操作|入参有误 
//  */
// export class ErrorResult implements ResultInterface {
//     msg: string
//     status: number
//     constructor(msg?: string, status?: number) {
//         this.msg = msg || '操作错误'
//         this.status = status || 400
//     }
//     /**
//      * 错误抛出 
//      */
//     throw(know = true) {
//         throw { msg: this.msg, status: this.status, know }
//     }
//     /**
//      * 返回客户端
//      */
//     send(ctx: Context) {
//         ctx.status = this.status
//         ctx.body = { msg: this.msg, status: this.status }
//     }
// }